package com.dayouzi.crawler_monitor.service;

import com.dayouzi.crawler_monitor.pojo.page.PageBean;
import com.dayouzi.crawler_monitor.pojo.query.PersonConfigListQuery;
import com.dayouzi.crawler_monitor.pojo.query.PersonConfigQuery;
import com.dayouzi.crawler_monitor.pojo.query.PersonListQuery;
import com.dayouzi.crawler_monitor.pojo.vo.HonorListVO;
import com.dayouzi.crawler_monitor.pojo.vo.PersonConfigListVO;
import com.dayouzi.crawler_monitor.pojo.vo.PersonListVO;

import java.util.ArrayList;
import java.util.HashMap;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author DaYouZi
 * @since 2023-05-26
 */
public interface PersonService {


    /**
     * 获取list
     * @param page
     * @param limit
     * @param personListQuery
     * @return
     */
    PageBean<PersonListVO> listPage(Integer page, Integer limit, PersonListQuery personListQuery);

    /**
     * 获取爬虫负责人list
     * @return
     */
    ArrayList<HashMap<String,String>> getManagerList();

    /**
     * 获取配置list
     * @param page
     * @param limit
     * @param personConfigListQuery
     * @return
     */
    PageBean<PersonConfigListVO> configListPage(Integer page, Integer limit, PersonConfigListQuery personConfigListQuery);

    /**
     * 获取爬虫负责人list
     * @return
     */
    ArrayList<HashMap<String,String>> getConfigManagerList();

    /**
     * 根据id获取人员爬虫配置信息
     * @param id
     * @return
     */
    PersonConfigListVO getConfigById(Integer id);

    /**
     * 根据id修改配置信息
     * @param personConfigQuery
     * @return
     */
    Boolean updateById(PersonConfigQuery personConfigQuery);

    /**
     * 绑定定时任务
     * @param scheduledName
     * @return
     */
    Integer updateScheduledName(String scheduledName);

    /**
     * 新增配置信息
     * @param personConfigQuery
     * @return
     */
    Boolean addData(PersonConfigQuery personConfigQuery);

    /**
     * 删除配置信息
     * @param id
     * @param showId
     */
    void foreverRemove(Integer id, Integer showId);

    ArrayList<HashMap<String,String>> getQueueStatusList();

    ArrayList<HashMap<String,String>> getRunStatusList();

    ArrayList<HashMap<String,String>> getLogStatusList();

    void updateRemarks(Integer id, String remarks);
}
